[Home] Python으로 돌아가기

연산자(할당), 제어문(if) - 퀴즈 및 레포트

목차

1. 참조 자료
2. 퀴즈
3. 해설 및 코드
4. 레포트

1. 참조 자료

관련 동영상: https://youtu.be/Qz740r1IV3o

2. 퀴즈

당신은 카카오 서비스를 이용하는 택시 기사이다. 50명의 승객과 매칭 기회가 있을 때, 총 탑승 승객 수를 구하는 프로그램을 작성하라.

출력 예시:

[O] 1번째 손님 (소요시간 : 15분)
[X] 2번째 손님 (소요시간 : 50분)
[O] 3번째 손님 (소요시간 : 5분)
...
[X] 50번째 손님 (소요시간 : 16분)
총 탑승 승객 : 8명

3. 해설 및 코드

다음 연산자를 활용한다:

비밀번호 생성 코드:

import random
cnt = 0 # 총 탑승 승객 수
for i in range(1, 51):
    time = random.randrange(5, 51) # 5 ~ 50분 사이 무작위 선택
    if 5 <= time <= 15:
        print(f"[O] {i}번째 손님 (소요시간 : {time}분)")
        cnt += 1
    else:
        print(f"[X] {i}번째 손님 (소요시간 : {time}분)")
print(f"총 탑승 승객 : {cnt}명")

4. 레포트/h2>

당신은 버스를 운전하는 기사이다. (10 + 학번의 맨 뒷자리 수)개의 정류장을 들린 후, 버스에 남은 승객 수를 계산하라.

출력 예시 (학번이 3으로 끝나는 경우):

1번째 승강장: 탑승 = 5명, 하차 = 3명, 탑승객 = 5명
2번째 승강장: 탑승 = 7명, 하차 = 2명, 탑승객 = 10명
3번째 승강장: 탑승 = 6명, 하차 = 5명, 탑승객 = 11명
...
13번째 승강장: 탑승 = 6명, 하차 = 5명, 탑승객 = 50명

버스 승객 수 계산 코드:

import random
student_id = 8  # 학번 끝자리
num_stops = 10 + student_id
passengers = student_id
for i in range(1, num_stops + 1):
    get_on = random.randint(5, 10)
    get_off = random.randint(2, 5)
    passengers += get_on - get_off
    print(f"{i}번째 승강장: 탑승 = {get_on}명, 하차 = {get_off}명, 탑승객 = {passengers}명")